﻿#region << 版 本 注 释 >>
/*----------------------------------------------------------------
// Copyright (C) 2021 kingerrobot
// 版权所有。 
//
// 文件名：BProdSkuProduct
// 文件功能描述：
//
// 创建者：名字 (zzl)
// 时间：2021/12/9 8:33:13
//
// 修改人：
// 时间：
// 修改说明：
// 版本：V1.0.0
//----------------------------------------------------------------*/
#endregion
using System.Threading.Tasks;

namespace KingerRobot.MexicoSailunWMS.SpiService;

interface IWcsScanner
{
    /// <summary>
    /// 添加扫描
    /// </summary>
    /// <param name="scannerLocId"></param>
    /// <param name="productCode"></param>
    /// <param name="scannerCount"></param>
    /// <param name="remark"></param>
    /// <param name="priority"></param>
    /// <returns></returns>
    int AddWcsScanner(long scannerLocId, string productCode, int scannerCount, string remark, int priority);

    List<POWcsScanner> GetWcsScannerListByDate(DateTime startTime, DateTime endTime);

    List<WcsScannerGroupCount> GetScannerMaterialGroupByDate(DateTime startTime, DateTime endTime);

    ///// <summary>
    ///// 
    ///// </summary>
    ///// <returns></returns>
    //List<POWcsScanner> GetNoTaskWcsScanner();
    /// <summary>
    /// 通过taskid删除扫描记录
    /// </summary>
    /// <returns></returns>
    int DeleWcsScannerByTaskId(long taskId, string remark);


    /// <summary>
    /// 修改状态
    /// </summary>
    /// <param name="productCode"></param>
    /// <param name="status"></param>
    /// <param name="remarkMemo"></param>
    /// <returns></returns>
    int UpdateWcsScannerStatusByProductCode(string productCode, int status, string remarkMemo, long taskId = 0);

    List<HourScannerCount> GetHourScannerCountByDate(string date);

    List<HourScannerCount> GetHourScannerCountByDateV2(string date);

    List<HourScannerCount> GetMinScannerCountByDateV2(string date);

    List<OutScannerAfterBean> GetWcsOutScannerAfter(DateTime startTime, DateTime endTime);

    List<ProductScannerRecord> GetProductScannerRecordByCode(string ProductCode);

    ///// <summary>
    ///// 获取扫描信息
    ///// </summary>
    ///// <param name="productCode"></param>
    ///// <param name="tireCount"></param>
    ///// <returns></returns>
    //POLogScanner GetLogScannerByProductCode(string productCode, long tireCount);
    ///// <summary>
    ///// 修改状态
    ///// </summary>
    ///// <param name="productCode"></param>
    ///// <param name="tireCount"></param>
    ///// <param name="status"></param>
    ///// <param name="remarkMemo"></param>
    ///// <returns></returns>
    //int UpdateLogScannerByProductCode(string productCode, long tireCount, int status, string remarkMemo);

    ///// <summary>
    ///// 执行成功
    ///// </summary>
    ///// <param name="productCode"></param>
    ///// <param name="tireCount"></param>
    ///// <param name="status"></param>
    ///// <returns></returns>
    //int UpdateLogScannerSuccessByProductCode(string productCode, long tireCount, int status);
    ///// <summary>
    ///// 执行成功
    ///// </summary>
    ///// <param name="productCode"></param>
    ///// <param name="status"></param>
    ///// <returns></returns>
    //int UpdateLogScannerSuccessByProductCodeV2(string productCode, int status);
}
internal class WcsScannerGroupCount
{
    public int Count { get; set; }
    public string MaterialCode { get; set; }
}

